Nun schauen wir uns an, wie man mit PHP ausgefüllte HTML-Formulare auswerten kann, die an den Server zurück gesendet werden. Ein typischer Anwendungsfall für PHP-Skripte liegt in der Auswertung von ausgefüllten HTML-Formularen, die via HTTP-GET oder HTTP-POST an den Webserver gesendet wurden. In dem nun folgenden Beispiel wird ein einfaches Login-System realisiert. Dieses Beispiel zeigt, wie ein Formular den Login einleitet und wie die Eingabedaten überprüft werden. Wichtig: Nutzen Sie dieses Beispiel niemals in einem realen Projekt! Es wurde aus Verständnisgründen stark vereinfacht und wichtige Sicherheitsaspekte nicht berücksichtigt. Es geht hier erstmal nur darum, das Prinzip zu verstehen. Wir verwenden dazu ein einfaches HTML-Formular mit zwei Textfeldern und einem Button. Die Felder haben jeweils eine ID und einen Namen. Als Zieladresse haben wir im Formular die Datei auswertung.php angegeben. Sobald das Formular abgesendet wird, wird der Client von seinem Browser auf diese Datei weitergeleitet. In dieser Datei müssen wir nun unser PHP-Skript realisieren, das die Formulardaten auswertet und prüft, ob die angegebenen Daten tatsächlich stimmen. Relevant hierfür sind die name-Attribute im HTML-Formular, also username und password in unserem Beispiel. Denn das name-Attribut dient uns serverseitig als eindeutige Kennzeichnung für ein bestimmtes input-Element im Formular. Das assoziative Array $\_GET beinhaltet die per HTTP-GET vom Client an den Server gesendeten Daten. Analog dazu gibt es ein assoziatives Array $\_POST für Daten, die via HTTP-POST übertragen wurden. Das assoziative Array $\_REQUEST beinhaltet sowohl per HTTP-GET, als auch per HTTP-POST übertragene Daten sowie auch die Daten der client-seitigen Cookies. Weitere Informationen dazu finden Sie hinter den Links von php.net. Da wir unsere Formulardaten via HTTP-POST versenden, greifen wir also mit $\_POST\['username'] und $\_POST\['password'] auf die Daten zu. Zuerst werden die Daten vom Client abgerufen. Der Benutzername wird mit $\_POST\['username'] und das Passwort mit $\_POST\['password'] gespeichert. Dann wird überprüft, ob die eingegebenen Daten korrekt sind. Wenn der Benutzername „Mustermann“ und das Passwort „web-hs-ma“ entspricht, wird eine Willkommensnachricht ausgegeben: „Herzlich willkommen“ gefolgt vom Benutzernamen. Andernfalls wird eine Fehlermeldung ausgegeben, die besagt: „Benutzername oder Passwort ist nicht korrekt!“ Unser bisheriges System funktioniert nun wie folgt: Zuerst erscheint nach einem Aufruf per HTTP-GET das Anmeldeformular. Nach der Eingabe von Benutzername und Kennwort und dem Klick auf Absenden wird das Formular an die auswertung.php gesendet. Diese antwortet entweder mit „Benutzername oder Passwort ist nicht korrekt“ oder mit „Herzlich willkommen Mustermann“. Programmieren Sie es nach! Im Fehlerfall erfolgt die Ausgabe mit einem harten exit, das PHP-Skript wird dann sofort unterbrochen. Im Erfolgsfall erfolgt die Ausgabe einfach mit einem echo. Als nächstes wären folgende Erweiterungen sinnvoll: Die Prüfung von Benutzername und Passwort sollte gegen registrierte Benutzer erfolgen, die in einer Datenbank abgelegt sind. Diese sind natürlich normalerweise nicht hart codiert. Die Antwort sollte in allen Fällen als gültige HTML-Datei zurück gegeben werden. Der erfolgreich eingeloggte Benutzer sollte ab jetzt in einer PHP-Session gespeichert werden mit automatischer Übergabe der Session-ID an den Client, damit dieser bei weiteren Aufrufen automatisch authentifiziert ist bis zu seinem Logout.